const enUS = {
  translation: {
    // Common
    common: {
      search: 'Search',
      operate: 'Operate',
      edit: 'Edit',
      copy: 'Copy',
      delete: 'Delete',
      cancel: 'Cancel',
      confirm: 'Confirm',
      submit: 'Submit',
      success: 'Success',
      failed: 'Failed',
      loading: 'Loading',
      noData: 'No Data',
      yes: 'Yes',
      no: 'No',
      create: 'Create',
      update: 'Update',
      back: 'Back',
      next: 'Next',
      copySuccess: 'Copy Success',
      copyFailed: 'Copy Failed',
      deleteSuccess: 'Delete Success',
      deleteFailed: 'Delete Failed',
      operateSuccess: 'Operation Successful',
      operateFailed: 'Operation Failed',
      logout: 'Logout',
      community: 'Community',
      save: 'Save',
      description: 'Description',
      name: 'Name',
      action: 'Action',
      status: 'Status',
      time: 'Time',
      type: 'Type',
      enabled: 'Enabled',
      disabled: 'Disabled',
      enable: 'Enable',
      disable: 'Disable',
      config: 'Config',
      add: 'Add',
      select: 'Select',
      upload: 'Upload',
      download: 'Download',
      view: 'View',
      refresh: 'Refresh',
      more: 'More',
      optional: 'Optional',
      total: 'Total',
      createSuccess: 'Created successfully',
      updateSuccess: 'Updated successfully',
      installApp: 'Install App',
      you: 'You',
      saveSuccess: 'Saved successfully'
    },

    // Navigation
    nav: {
      panel: 'Panel',
      channel: 'Channel',
      token: 'Token Management',
      modelManager: 'Model Manager',
      product: 'Product',
      logger: 'Logger',
      redeemCode: 'Redeem Code',
      user: 'User',
      current: 'Current',
      setting: 'Setting',
      rateLimit: 'Rate Limit',
      modelMap: 'Model Map',
      userGroup: 'User Group',
      welcome: 'Home',
      doc: 'Documentation',
      model: 'Model Library',
      login: 'Login',
      register: 'Register',
      auth: 'Authentication',
      enterSystem: 'Enter System',
      ai: 'AI Service',
      chat: 'Chat',
      business: 'Business Service',
      wallet: 'Wallet/Personal',
      system: 'System Service',
      apiKeyManage: 'API keys',
      usage: 'Usage'
    },

    // Sidebar Menu
    sidebar: {
      panel: 'Panel',
      channel: 'Channel',
      token: 'API keys',
      modelManager: 'Model Manager',
      product: 'Product',
      logger: 'Logger',
      requestLog: 'Request Log',
      redeemCode: 'Redeem Code',
      user: 'User Management',
      current: 'Wallet/Personal',
      setting: 'System Service',
      rateLimit: 'Rate Limit',
      modelMap: 'Model Map',
      userGroup: 'User Group',
      ai: 'AI Service',
      chat: 'Chat',
      business: 'Business Service',
      playground: 'Playground',
      usage: 'Usage',
      announcement: 'Announcements'
    },

    // Page Title
    pageTitle: {
      loading: {
        panel: 'Loading Panel',
        channel: 'Loading Channel',
        token: 'Loading Token Management',
        modelManager: 'Loading Model Manager',
        product: 'Loading Product',
        logger: 'Loading Logger',
        requestLog: 'Loading Request Log',
        redeemCode: 'Loading Redeem Code',
        user: 'Loading User',
        current: 'Loading Current',
        setting: 'Loading Setting',
        rateLimit: 'Loading Rate Limit',
        modelMap: 'Loading Model Map',
        userGroup: 'Loading User Group',
        login: 'Loading Login',
        register: 'Loading Register',
        auth: 'Loading Authentication',
        defaultLayout: 'Loading Default Layout',
        welcome: 'Loading Welcome Page',
        doc: 'Loading Documentation',
        model: 'Loading Model Page',
        usage: 'Loading Usage Page',
        announcement: 'Loading Announcements Page'
      }
    },

    // Usage Page
    usage: {
      title: 'Usage',
      totalSpend: 'Total Spend',
      budget: 'Budget',
      budgetReset: 'days. Reset in',
      totalTokens: 'Total tokens',
      totalRequests: 'Total requests',
      apiCapabilities: 'API capabilities',
      spendCategories: 'Spend categories',
      users: 'Users',
      services: 'Services',
      apiKeys: 'API Keys',
      noData: 'There is no usage data for this period',
      requests: 'Requests',
      inputTokens: 'Input tokens',
      outputTokens: 'Output tokens',
      images: 'Images',
      chatCompletions: 'Chat Completions',
      webSearches: 'Web Searches',
      fileSearches: 'File Searches',
      moderation: 'Moderation',
      embeddings: 'Embeddings',
      selectApiKey: 'Select API Key',
      exportData: 'Export',
      cost: 'Cost',
      date: 'Date',
      tokenCount: 'Token Count',
      imageCount: 'Image Count',
      audioSeconds: 'Audio Seconds',
      spendStatistics: 'Spend Statistics',
      requestsStatistics: 'Request Statistics',
      tokensStatistics: 'Token Statistics',
      audioSpeech: 'Audio Speech',
      audioTranscription: 'Audio Transcription',
      audioTranslation: 'Audio Translation',
      quantity: 'Quantity',
      apiEndpoint: 'API Endpoint',
      apiName: 'API Name',
      model: 'Model',
      modelName: 'Model Name',
      allApiKeys: 'All'
    },

    // Login Page
    login: {
      title: 'TokenAI',
      inputAccountInfo: 'Enter your account information to login',
      accountPlaceholder: 'Please enter account',
      accountRequired: 'Please enter your account',
      passwordPlaceholder: 'Please enter password',
      passwordRequired: 'Please enter your password',
      loginButton: 'Login',
      registerNow: 'No account? Register now',
      thirdPartyLogin: 'Third party login',
      githubLogin: 'Github Login',
      giteeLogin: 'Gitee Login',
      casdoorLogin: 'Casdoor Login',
      configGithubClientId: 'Please contact administrator to configure Github ClientId',
      configGiteeClientId: 'Please contact administrator to configure Gitee ClientId',
      enableGiteeLogin: 'Please contact administrator to enable Gitee login',
      configCasdoorEndpoint: 'Please contact administrator to configure Casdoor Endpoint',
      configCasdoorClientId: 'Please contact administrator to configure Casdoor ClientId',
      loginSuccess: 'Login successful, redirecting to homepage',
      loginFailed: 'Login failed',
      loginError: 'Error occurred during login, please try again',
      brandSlogan: 'Professional AI gateway management platform to help you easily manage multi-channel AI',
      feature1Title: 'Efficient & Intelligent',
      feature1Desc: 'Quickly respond to your needs intelligently, improving work efficiency',
      feature2Title: 'Secure & Reliable',
      feature2Desc: 'Data encryption, ensuring your privacy and information security'
    },

    // Register Page
    register: {
      title: 'Register Account',
      subtitle: 'Create a new account to access all features',
      usernameLabel: 'Username',
      usernamePlaceholder: 'Please enter username',
      usernameRequired: 'Please enter username',
      emailLabel: 'Email',
      emailPlaceholder: 'Please enter email',
      emailRequired: 'Please enter email',
      emailInvalid: 'Please enter a valid email',
      passwordLabel: 'Password',
      passwordPlaceholder: 'Please enter password',
      passwordRequired: 'Please enter password',
      passwordLength: 'Password must be at least 6 characters',
      confirmPasswordLabel: 'Confirm Password',
      confirmPasswordPlaceholder: 'Please confirm your password',
      confirmPasswordRequired: 'Please confirm your password',
      passwordMismatch: 'The two passwords do not match',
      verificationCodeLabel: 'Verification Code',
      verificationCodePlaceholder: 'Please enter verification code',
      getVerificationCode: 'Get Code',
      verificationCodeSent: 'Verification code sent',
      resendCode: 'Resend ({count}s)',
      verificationCodeOptional: 'Failed to send code, but you can continue registration',
      inviteCodeLabel: 'Invitation Code (Optional)',
      inviteCodePlaceholder: 'Enter invitation code if you have one',
      registerButton: 'Register',
      loginLink: 'Already have an account? Login now',
      registerSuccess: 'Registration successful! Redirecting to homepage',
      emailNotAllowed: 'The system does not allow registration with email',
      userCreationFailed: 'User creation failed',
      registerError: 'Error occurred during registration, please try again',
      // New step navigation translations
      step1: 'Account Info',
      step2: 'Set Password',
      nextStep: 'Next Step',
      prevStep: 'Previous',
      // Brand promotion area translations
      brandSlogan: 'A professional ai gateway management platform to help you easily manage multi-channel AI',
      feature1Title: 'Intelligent forwarding',
      feature1Desc: 'One-click usage, easily access multi-channel AI'
    },

    // Home Page
    welcome: {
      title: 'Thor',
      subtitle: 'Access multiple models with standard OpenAI interface protocol',
      description: 'Access 68+ models with standard OpenAI interface protocol, no time limit, pay-per-use, no reverse engineering, fast dialogue, transparent details, no hidden costs.',
      tagline: 'Providing you with the best AI service!',
      startNow: 'Start Now',
      giveStar: 'Star the Project',
      features: {
        title: 'Our Advantages',
        description: 'Thor provides developers with one-stop AI model calling service, simplifying your AI application development process',
        multiModel: {
          title: 'Multi-Model Support',
          description: 'Support 200+ models, including mainstream large language models and professional domain models, to meet various AI application scenarios.',
          action: 'Learn about supported models'
        },
        fastResponse: {
          title: 'Fast Response',
          description: 'Optimized service architecture ensures high-speed conversation experience, reduces waiting time, and improves work efficiency.',
          action: 'View performance tests'
        },
        community: {
          title: 'Community Driven',
          description: 'Maintained by the AIDotNet community, continuously updated, providing professional technical support and rich resource sharing.',
          action: 'Join our community'
        }
      },
      community: {
        title: 'Powerful Community',
        description: 'Thor is maintained by the AIDotNet community, which has rich AI resources including models, datasets, tools, etc.',
        payPerUse: {
          title: 'Pay Per Use',
          description: 'Support user quota management, users can customize Token management, pay by usage.'
        },
        appSupport: {
          title: 'Application Support',
          description: 'Support for OpenAI official libraries, most open-source chat applications, Utools GPT plugin'
        },
        transparency: {
          title: 'Transparent Details',
          description: 'Statistics on each request consumption details, transparent pricing, no hidden costs, use with peace of mind'
        }
      },
      statistics: {
        models: 'Supported Models',
        users: 'Community Users',
        requests: 'Daily Requests',
        contributors: 'Contributors'
      },
      modelHot: {
        title: 'Model Popularity Ranking',
        description: 'Learn about users\' favorite AI models and choose the model that best suits your needs',
        distribution: 'Model Usage Distribution',
        distributionDesc: 'Model heat distribution map based on actual user usage',
        ranking: 'Popular Model Ranking',
        rankingDesc: 'Ranking of the most popular AI models'
      },
      callToAction: {
        title: 'Ready to start using Thor?',
        description: 'Register now and get free quota to start your AI development journey',
        register: 'Register for Free',
        docs: 'View Documentation'
      },
      projects: {
        title: 'Related Open Source Projects',
        description: 'AIDotNet community maintains multiple open source projects, aiming to promote the development of AI technology and provide a better learning and communication platform for AI developers.',
        aidotnet: {
          title: 'AIDotNet',
          description: 'AIDotNet Community is a community of AI developers, aiming to promote the development of AI technology and provide a better learning and communication platform for AI developers.',
          action: 'Learn More'
        },
        koala: {
          title: 'Koala AI',
          description: 'An open-source project for intelligent knowledge base, which can be used to develop enterprise-level intelligent customer service management systems. Supporting multiple knowledge base formats, providing efficient retrieval and answer generation capabilities.',
          action: 'Learn More'
        }
      }
    },

    // Redeem Code Page
    redeemCode: {
      title: 'Redeem Code Management',
      name: 'Name',
      disabled: 'Disabled',
      quota: 'Quota',
      createdAt: 'Created At',
      redeemedUser: 'Redeemed User',
      redeemedTime: 'Redeemed Time',
      notRedeemed: 'Not Redeemed',
      createRedeemCode: 'Create Redeem Code',
      updateRedeemCode: 'Update Redeem Code',
      batchCreate: 'Batch Create',
      codeValue: 'Code Value',
      generateCode: 'Generate Code',
      validityPeriod: 'Validity Period',
      days: 'Days',
      limitQuantity: 'Limit Quantity',
      unlimited: 'Unlimited',
      customQuantity: 'Custom Quantity',
      createSuccess: 'Creation Successful',
      createFailed: 'Creation Failed'
    },

    // User Page
    user: {
      title: 'User Management',
      username: 'Username',
      email: 'Email',
      roles: 'Roles',
      status: 'Status',
      createdAt: 'Created At',
      lastLogin: 'Last Login',
      action: 'Action',
      addUser: 'Add User',
      editUser: 'Edit User',
      deleteUser: 'Delete User',
      resetPassword: 'Reset Password',
      enable: 'Enable',
      disable: 'Disable',
      enableSuccess: 'User enabled',
      disableSuccess: 'User disabled',
      deleteSuccess: 'User deleted',
      resetPasswordSuccess: 'Password reset',
      confirmDelete: 'Are you sure you want to delete this user?',
      confirmResetPassword: 'Are you sure you want to reset this user\'s password?'
    },

    // Token Management Page
    token: {
      title: 'Token Management',
      name: 'Name',
      token: 'Token Value',
      createdAt: 'Created At',
      expiredAt: 'Expired At',
      status: 'Status',
      createToken: 'Create Token',
      editToken: 'Edit Token',
      deleteToken: 'Delete Token',
      regenerateToken: 'Regenerate Token',
      copyToken: 'Copy Token',
      neverExpire: 'Never Expire',
      expired: 'Expired',
      active: 'Active',
      inactive: 'Inactive',
      remaining: 'Remaining'
    },

    // Model Management Page
    modelManager: {
      title: 'Model Rate Management',
      createModel: 'Add Model',
      updateModel: 'Update Model',
      deleteModel: 'Delete Model',
      modelName: 'Model Name',
      modelType: 'Billing Type',
      modelDescription: 'Description',
      modelIcon: 'Model Icon',
      modelTags: 'Model Tags',
      modelStatus: 'Status',
      modelEnabled: 'Enabled',
      modelDisabled: 'Disabled',
      modelPrice: 'Model Price',
      modelPricePerK: 'K',
      modelPricePerM: 'M',
      modelMaxContext: 'Max Context',
      modelCategory: 'Model Category',
      selectCategory: 'Select model category',
      typeRequired: 'Please select model category',
      typeChat: 'Chat',
      typeAudio: 'Audio',
      typeImage: 'Image',
      typeSTT: 'Speech to Text',
      typeTTS: 'Text to Speech',
      typeEmbedding: 'Embedding',
      promptRate: 'Prompt Rate',
      completionRate: 'Completion Rate',
      perUsageFee: 'Per Usage Fee',
      isRealTimeModel: 'Is Real-time Model',
      audioPromptRate: 'Audio Prompt Rate',
      audioCompletionRate: 'Audio Completion Rate',
      cacheWriteRate: 'Cache Write Rate',
      cacheHitRate: 'Cache Hit Rate',
      audioCacheRate: 'Audio Cache Rate',
      volumeBilling: 'Volume Billing',
      perUseBilling: 'Per Use Billing',
      enterModelName: 'Enter model name',
      enterDescription: 'Enter description',
      enterPromptRate: 'Enter prompt rate',
      enterCompletionRate: 'Enter completion rate',
      enterPerUsageFee: 'Enter per usage fee',
      enterAudioPromptRate: 'Enter audio prompt rate',
      enterAudioCompletionRate: 'Enter audio completion rate',
      enterCacheWriteRate: 'Enter cache write rate',
      enterCacheHitRate: 'Enter cache hit rate',
      enterAudioCacheRate: 'Enter audio cache rate',
      enterMaxContext: 'Enter max context',
      defaultContextLength: 'Default Context Length',
      enterDefaultContextLength: 'Enter default context length',
      contextPricingTiers: 'Context Pricing Tiers',
      minContextLength: 'Min Context Length',
      maxContextLength: 'Max Context Length',
      enterMinContextLength: 'Enter min context length',
      enterMaxContextLength: 'Enter max context length',
      tierDescription: 'Tier Description',
      enterTierDescription: 'Enter tier description',
      promptRateMultiplier: 'Prompt Rate Multiplier',
      enterPromptRateMultiplier: 'Enter prompt rate multiplier',
      completionRateMultiplier: 'Completion Rate Multiplier',
      enterCompletionRateMultiplier: 'Enter completion rate multiplier',
      fixedAdditionalCost: 'Fixed Additional Cost',
      enterFixedAdditionalCost: 'Enter fixed additional cost',
      addPricingTier: 'Add Pricing Tier',
      advancedSettings: 'Advanced Settings',
      minContextLengthRequired: 'Please enter min context length',
      maxContextLengthRequired: 'Please enter max context length',
      tierDescriptionRequired: 'Please enter tier description',
      promptRateMultiplierRequired: 'Please enter prompt rate multiplier',
      completionRateMultiplierRequired: 'Please enter completion rate multiplier',
      promptRateRequired: 'Please enter prompt rate',
      promptRatePositive: 'Prompt rate must be greater than 0',
      selectIcon: 'Select an icon',
      enterTags: 'Enter tags',
      priceUnit: 'Price Unit',
      searchModel: 'Search model name',
      perPrompt: 'Input Price',
      perCompletion: 'Output Price',
      audioInput: 'Audio Input',
      audioOutput: 'Audio Output',
      perUsage: 'Per Usage',
      basicInfo: 'Basic Information',
      rateConfiguration: 'Rate Configuration',
      createSuccess: 'Created successfully',
      updateSuccess: 'Updated successfully',
      operationFailed: 'Operation failed',
      modelNameRequired: 'Please enter model name',
      modelTypeRequired: 'Please select billing type',
      descriptionRequired: 'Please enter description',
      iconRequired: 'Please select an icon',
      confirm: 'Confirm',
      no: 'No',
      yes: 'Yes'
    },

    // Model Library Page
    modelLibrary: {
      title: 'Model Library',
      searchPlaceholder: 'Enter model name to search',
      searchButton: 'Search',
      selectTags: 'Select tags to filter',
      clearFilters: 'Clear Filters',
      unitSwitch: 'Unit',
      unitK: 'K',
      unitM: 'M',
      viewMode: 'View',
      cardView: 'Card',
      listView: 'List',
      
      // Model status
      available: 'Available',
      unavailable: 'Unavailable',
      enabled: 'Enabled',
      disabled: 'Disabled',
      
      // Billing types
      volumeBilling: 'Volume',
      perUseBilling: 'Per Use',
      
      // Model types
      chat: 'Chat',
      image: 'Image',
      audio: 'Audio',
      stt: 'Speech to Text',
      tts: 'Text to Speech',
      embedding: 'Embedding',
      
      // Pricing info
      promptPrice: 'Prompt',
      completionPrice: 'Completion',
      audioInputPrice: 'Audio Input',
      audioOutputPrice: 'Audio Output',
      perUsagePrice: 'Per Usage',
      
      // Statistics
      maxContext: 'Max Context',
      modelType: 'Model Type',
      billingType: 'Billing Type',
      status: 'Status',
      
      // Actions
      copyModelName: 'Copy Model Name',
      copySuccess: 'Copied successfully',
      copyFailed: 'Copy failed',
      viewDetails: 'View Details',
      
      // Result statistics
      totalResults: 'Found',
      resultsCount: 'results',
      modelTypeFilter: 'Model Type',
      providerFilter: 'Provider',
      
      // Pagination
      previousPage: 'Previous',
      nextPage: 'Next',
      
      // Empty states
      noResults: 'No models match the criteria',
      loading: 'Loading...',
      loadFailed: 'Failed to load model data',
      
      // Model details modal
      modelDetails: 'Model Details',
      basicInfo: 'Basic Information',
      pricingInfo: 'Pricing Information',
      modelStats: 'Model Statistics',
      modelCapabilities: 'Model Capabilities',
      supported: 'Supported',
      notSupported: 'Not Supported',
      close: 'Close',
      
      // Filters
      allProviders: 'All Providers',
      allTypes: 'All Types',
      noTags: 'No Tags',
      
      // Hints
      selectProvider: 'Select Provider',
      selectModelType: 'Select Model Type',
      filterByTags: 'Filter by Tags',
      
      // Error messages
      loadTagsFailed: 'Failed to load tags',
      networkError: 'Network Error',
      serverError: 'Server Error',
      
      // Model type descriptions
      typeDescriptions: {
        chat: 'Models for conversation and text generation',
        image: 'Models for image generation and processing',
        audio: 'Models for audio processing',
        stt: 'Speech to text models',
        tts: 'Text to speech models',
        embedding: 'Models for vector embedding'
      }
    },

    // Product Page
    product: {
      title: 'Product Management',
      productName: 'Product Name',
      productType: 'Product Type',
      price: 'Price',
      discount: 'Discount',
      status: 'Status',
      createProduct: 'Create Product',
      editProduct: 'Edit Product',
      deleteProduct: 'Delete Product',
      confirmDelete: 'Are you sure you want to delete this product?'
    },

    // Channel Page
    channel: {
      title: 'Channel Management',
      channelName: 'Channel Name',
      channelType: 'Channel Type',
      apiKey: 'API Key',
      proxyAddress: 'Proxy Address',
      status: 'Status',
      createChannel: 'Create Channel',
      editChannel: 'Edit Channel',
      deleteChannel: 'Delete Channel',
      testConnection: 'Test Connection',
      connectionSuccess: 'Connection Successful',
      connectionFailed: 'Connection Failed',
      confirmDelete: 'Are you sure you want to delete this channel?',
      disabled: 'Disabled',
      enabled: 'Enabled',
      autoCheck: 'Auto Check',
      responseTime: 'Response Time',
      createdAt: 'Created At',
      totalConsumption: 'Total Consumption',
      quota: 'Quota',
      groups: 'Groups',
      channelWeight: 'Channel Weight',
      operations: 'Operations',
      refresh: 'Refresh',
      search: 'Search',
      disable: 'Disable',
      enable: 'Enable',
      disableAutoCheck: 'Disable Auto Check',
      enableAutoCheck: 'Enable Auto Check',
      testing: 'Testing...',
      seconds: 'seconds',
      notTested: 'Not Tested',
      operationSuccess: 'Operation Successful',
      operationFailed: 'Operation Failed',
      version: 'Version',
      region: 'Region',
      appId: 'App ID',
      key: 'Key',
      cacheEnabled: 'Cache Enabled',
      selectPlatformType: 'Select Platform Type',
      enterChannelName: 'Enter channel name',
      enterProxyAddress: 'Enter proxy address',
      channelNameRequired: 'Channel name is required',
      channelNameMinLength: 'Channel name must be at least 3 characters',
      platformTypeRequired: 'Platform type is required',
      selectModels: 'Select models',
      modelsRequired: 'Please select models',
      selectGroups: 'Select groups',
      groupsRequired: 'Please select groups',
      rate: 'Rate',
      models: 'Models',
      downloadTemplate: 'Download Template',
      importTemplate: 'Import Template',
      downloadSuccess: 'Template downloaded successfully',
      downloadFailed: 'Template download failed',
      importSuccess: 'Import successful',
      importFailed: 'Import failed',
      routeDefaultFormat: 'Route Default Format',
      supportsResponses: 'Supports Responses'
    },

    // Payment Page
    payment: {
      wallet: 'Account Wallet',
      currentBalance: 'Current Balance',
      alipayPayment: 'Alipay Payment',
      redeemCode: 'Redeem Code',
      alipayDisabled: 'Alipay payment not enabled',
      noProducts: 'No products available',
      checkLater: 'Please check back later',
      limitedOffer: 'Limited Offer',
      originalPrice: 'Original Price',
      remainingQuota: 'Remaining Quota',
      rechargeNow: 'Recharge Now',
      generatingQRCode: 'Generating QR code, please wait...',
      redeemCodeInfo: 'Use redeem code for quick recharge',
      redeemCodeDescription: 'Enter a valid redeem code to recharge your account with the corresponding quota.',
      enterRedeemCode: 'Please enter your redeem code',
      redeemNow: 'Redeem Now',
      howToGetRedeemCode: 'How to get redeem codes?',
      emptyRedeemCode: 'Redeem code cannot be empty',
      redeemSuccess: 'Redemption successful',
      redeemFailed: 'Redemption failed',
      noRechargeAddress: 'No recharge address set',
      scanQRCode: 'Scan with Alipay',
      qrCodeExpiry: 'QR code valid for 5 minutes, please pay quickly',
      scanInstruction: 'Please scan the QR code below with Alipay to complete payment',
      timeRemaining: 'Please complete payment within {minutes}m {seconds}s',
      paymentCompleted: 'Payment Completed',
      cancel: 'Cancel',
      mobilePayment: 'Scan with Alipay mobile app to pay instantly',
      save: 'Save'
    },

    // User profile page
    userProfile: {
      userInfo: 'User Information',
      balance: 'Recharge Balance',
      basicInfo: 'Basic Information',
      accountInfo: 'Account Information',
      security: 'Security Settings',
      username: 'Username',
      email: 'Email',
      role: 'Role',
      userGroup: 'User Group',
      registrationTime: 'Registration Time',
      lastLoginTime: 'Last Login Time',
      quota: 'Current Quota',
      editProfile: 'Edit Profile',
      saveChanges: 'Save Changes',
      cancelEdit: 'Cancel',
      changePassword: 'Change Password',
      oldPassword: 'Old Password',
      newPassword: 'New Password',
      confirmPassword: 'Confirm Password',
      updateSuccess: 'Information updated successfully',
      updateFailed: 'Update failed',
      passwordSuccess: 'Password changed successfully',
      passwordFailed: 'Password change failed',
      inviteLink: 'Invitation Link',
      copyInvite: 'Copy Invitation Link',
      inviteCopied: 'Invitation link copied to clipboard',
      accountStatus: 'Account Status'
    },

    // Model Map Page
    modelMap: {
      title: 'Model Map Management',
      modelId: 'Model ID',
      group: 'Group',
      createdAt: 'Created At',
      updatedAt: 'Updated At',
      itemCount: 'Mapping Items',
      actions: 'Actions',
      createMap: 'Create Mapping',
      editMap: 'Edit Mapping',
      deleteMap: 'Delete Mapping',
      refresh: 'Refresh',
      searchPlaceholder: 'Search keyword',
      sourceModelId: 'Source Model ID',
      targetModelId: 'Target Model ID',
      weight: 'Weight',
      addMappingItem: 'Add Mapping Item',
      createSuccess: 'Mapping created successfully',
      updateSuccess: 'Mapping updated successfully',
      deleteSuccess: 'Mapping deleted successfully',
      deleteConfirm: 'Are you sure you want to delete this mapping?',
      loadError: 'Failed to load data',
      pleaseSelectSourceModel: 'Please select source model ID',
      pleaseSelectTargetModel: 'Please select target model ID',
      pleaseEnterWeight: 'Please enter weight',
      pleaseSelectGroup: 'Please select group'
    },

    // PWA Installation
    install: {
      title: 'Install Thor AI Platform',
      description: 'Add Thor AI Platform to your home screen for offline use and faster access.',
      later: 'Later',
      install: 'Install Now',
      browser: 'You can always install the app from your browser menu'
    },

    // Setting Page
    settingPage: {
      tabs: {
        serviceSetup: 'Service Setup',
        systemSetup: 'System Setup',
        otherSettings: 'Other Settings'
      },
      general: {
        title: 'General Settings',
        save: 'Save Settings',
        saveSuccess: 'Settings updated successfully',
        saveFailed: 'Settings update failed'
      },
      service: {
        rechargeAddress: 'Recharge Address',
        chatLink: 'Chat Link',
        quotaSettings: 'Quota Settings',
        newUserQuota: 'New User Initial Quota',
        requestQuota: 'Request Reserved Quota',
        inviteQuota: 'Invitation Reward Quota',
        logSettings: 'Log Settings',
        enableClearLog: 'Enable Timed Log Cleaning',
        intervalDays: 'Interval Days',
        channelMonitoring: 'Channel Monitoring',
        enableAutoCheckChannel: 'Enable Auto Channel Detection',
        checkInterval: 'Check Interval (Minutes)',
        autoDisableChannel: 'Auto Disable Abnormal Channels',
        alipaySettings: 'Alipay Settings',
        alipayNotifyUrl: 'Alipay Callback URL',
        alipayAppId: 'Alipay AppId',
        alipayPrivateKey: 'Alipay Private Key',
        alipayPublicKey: 'Alipay Public Key',
        alipayAppCertPath: 'Alipay App Certificate Path',
        alipayRootCertPath: 'Alipay Root Certificate Path',
        alipayPublicCertPath: 'Alipay Public Certificate Path'
      },
      system: {
        serverAddress: 'Server Address',
        accountSettings: 'Account Settings',
        enableRegister: 'Enable Account Registration',
        gitHubSettings: 'If allowing Github login, fill in the following information',
        enableGithubLogin: 'Allow Github Login',
        githubClientId: 'Github Client Id',
        githubClientSecret: 'Github Client Secret',
        giteeSettings: 'If allowing Gitee login, fill in the following information',
        enableGiteeLogin: 'Allow Gitee Login',
        giteeClientId: 'Gitee Client Id',
        giteeClientSecret: 'Gitee Client Secret',
        emailSettings: 'If enabling email registration verification, fill in the following information',
        enableEmailRegister: 'Enable Email Registration Verification',
        emailAddress: 'Sender Email',
        emailPassword: 'Sender Email Password',
        smtpAddress: 'SMTP Address',
        casdoorSettings: 'If enabling Casdoor authorization, fill in the following information',
        enableCasdoorAuth: 'Enable Casdoor Authorization',
        casdoorEndpoint: 'Casdoor Custom Endpoint',
        casdoorClientId: 'Casdoor Client Id',
        casdoorClientSecret: 'Casdoor Client Secret'
      },
      other: {
        siteSettings: 'Site Settings',
        webTitle: 'Website Title',
        webLogo: 'Website Logo URL',
        indexContent: 'Homepage Content'
      }
    },

    // Playground page
    playground: {
      title: 'AI Assistant',
      selectToken: 'Select Token',
      selectModel: 'Select Model',
      inputMessage: 'Enter message...',
      send: 'Send',
      clearChat: 'Clear Chat',
      saveChat: 'Save Chat',
      chatHistory: 'Chat History',
      systemPrompt: 'System Prompt',
      temperature: 'Temperature',
      precise: 'Precise',
      lowCreativity: 'Low Creativity',
      balanced: 'Balanced',
      highCreativity: 'High Creativity',
      chatSettings: 'Chat Settings',
      saveChatTitle: 'Save Chat',
      saveChatInputTitle: 'Chat Title',
      saveChatInputTags: 'Add Tags',
      enterChatTitle: 'Name this conversation',
      enterTagsHint: 'Enter tag names and press Enter to add',
      editChatInfo: 'Edit Chat Info',
      confirmDelete: 'Are you sure you want to delete this message?',
      delete: 'Delete',
      regenerate: 'Regenerate',
      newChatFromMessage: 'New chat from this message',
      copyContent: 'Copy content',
      enterToSend: 'Press Enter to send, Shift+Enter for new line',
      tabs: {
        chat: 'Chat',
        image: 'Image'
      },
      emptyChat: {
        title: 'AI Assistant',
        description: 'Select a Token and model to start chatting with the AI assistant. The AI assistant can help you answer questions, create content, and more.',
        suggestion1: 'Write a short story',
        suggestion2: 'Explain quantum computing'
      },
      pinned: 'Pinned Chats',
      allChats: 'All Chats',
      searchChats: 'Search chat titles or tags',
      filterTags: 'Filter by tags',
      sortBy: {
        newest: 'Newest',
        oldest: 'Oldest'
      },
      performance: {
        firstToken: 'First token',
        completion: 'Completion',
        tokens: 'Tokens',
        rate: 'Rate'
      },
      noChatsFound: 'No matching chats found',
      chatPinned: 'Chat pinned',
      chatUnpinned: 'Chat unpinned',
      chatInfoUpdated: 'Chat information updated',
      chatDeleted: 'Chat deleted',
      chatLoaded: 'Chat loaded',
      confirmDeleteChat: 'Are you sure you want to delete this chat?',
      togglePin: 'Pin/Unpin chat',
      editChat: 'Edit chat information',
      deleteChat: 'Delete chat',
      addTag: 'Add tag',
      enterTagPress: 'Enter tag and press Enter',
      errorMessages: {
        enterMessage: 'Please enter a message',
        selectModel: 'Please select a model',
        selectToken: 'Please select a Token',
        noContent: 'No chat content to save',
        regenerateFailed: 'Failed to regenerate, please check Token and model settings',
        responseFailed: 'Failed to get response, please check Token and model settings',
        createChatFailed: 'Failed to create new chat',
        noTokensAvailable: 'No tokens available, please add a token first'
      }
    },

    // Image Feature
    imageFeature: {
      title: 'AI Image Generation',
      useSourceImage: 'Use Source Image',
      selectImage: 'Select Image',
      changeImage: 'Change Image',
      sourceImage: 'Source Image',
      sourceImages: 'Source Images',
      prompt: 'Prompt',
      promptPlaceholder: 'Describe the image you want to generate...',
      transformationPrompt: 'Transformation Prompt',
      transformationPromptPlaceholder: 'Describe how you want to transform the image...',
      negativePrompt: 'Negative Prompt',
      negativePromptPlaceholder: 'Elements to avoid in the generated image...',
      subtle: 'Subtle',
      complete: 'Complete',
      token: 'Token',
      selectToken: 'Select a token',
      model: 'Model',
      selectModel: 'Select a model',
      imageSize: 'Image Size',
      square: 'Square',
      landscape: 'Landscape',
      portrait: 'Portrait',
      generateImage: 'Generate Image',
      transformImage: 'Transform Image',
      generatedImages: 'Generated Images',
      noImagesYet: 'No images generated yet',
      promptRequired: 'Please enter a prompt',
      tokenRequired: 'Please select a token',
      modelRequired: 'Please select a model',
      generateSuccess: 'Image generated successfully',
      generateFailed: 'Image generation failed',
      noTokensAvailable: 'No tokens available, please add a token first',
      dragImageHint: 'Click or drag image file to this area to upload',
      supportMultipleFiles: 'Support for uploading multiple files simultaneously',
      clearAllImages: 'Clear All Images'
    },

    // Panel Page
    panel: {
      title: 'Data Panel',
      loading: 'Loading data...',
      
      // Statistics Cards
      statistics: {
        currentResidualCredit: 'Current Remaining Credit',
        recentConsumption: 'Recent Total Consumption',
        recentRequests: 'Recent Total Requests',
        recentTokens: 'Recent Total Tokens Consumed',
        quotaDistribution: 'Quota Distribution',
        consumedQuota: 'Consumed Quota',
        remainingQuota: 'Remaining Quota',
      },

      // Chart Titles
      charts: {
        consumptionTrend: 'Consumption Trend',
        requestTrend: 'Request Trend',
        tokenTrend: 'Token Trend',
        modelDistribution: 'Model Consumption Distribution (Last 7 Days)',
        newUserRegistration: 'New User Registration (Last 7 Days)',
        recentRechargeData: 'Recent Recharge Data',
        quotaDistributionChart: 'Quota Distribution Chart',
      },

      // Chart Data Labels
      chartLabels: {
        consumption: 'Consumption',
        requests: 'Requests',
        tokens: 'Tokens',
        day: 'Day',
        userCount: 'User Count',
        amount: 'Amount',
        model: 'Model',
        date: 'Date',
        value: 'Value',
        percentage: 'Percentage',
      },

      // Tooltips
      tooltips: {
        consumptionTooltip: 'Shows daily consumption quota trend',
        requestTooltip: 'Shows daily API request count changes',
        tokenTooltip: 'Shows daily token consumption changes',
        modelTooltip: 'Shows usage distribution of each model',
        userTooltip: 'Shows new user registration statistics',
        rechargeTooltip: 'Shows user recharge amount distribution',
      },

      // Error Messages
      errors: {
        loadDataFailed: 'Failed to load data',
        chartRenderFailed: 'Failed to render chart',
        noDataAvailable: 'No data available',
        networkError: 'Network connection error',
      },

      // Action Buttons
      actions: {
        refresh: 'Refresh Data',
        export: 'Export Data',
        viewDetails: 'View Details',
        fullscreen: 'Fullscreen Display',
      },

      // Time Range
      timeRange: {
        today: 'Today',
        yesterday: 'Yesterday',
        last7Days: 'Last 7 Days',
        last30Days: 'Last 30 Days',
        thisMonth: 'This Month',
        lastMonth: 'Last Month',
        custom: 'Custom',
      },

      // Data Units
      units: {
        quota: 'Quota',
        requests: 'Times',
        tokens: 'Tokens',
        users: 'Users',
        yuan: 'Yuan',
        dollar: '$',
      },

      // Status Information
      status: {
        normal: 'Normal',
        warning: 'Warning',
        error: 'Error',
        loading: 'Loading',
        empty: 'No Data',
        success: 'Success',
      },
    }
  }
};

export default enUS; 